var prefix = "/sys/user";
$(function() {
	load();
});

function load() {
	$('#exampleTable')
		.bootstrapTable(
			{
				method : 'get', // 服务器数据的请求方式 get or post
				url : prefix + "/list", // 服务器数据的加载地址
				showRefresh : false,
				iconSize : 'outline',
				toolbar : '#exampleToolbar',
				striped : true, // 设置为true会有隔行变色效果
				dataType : "json", // 服务器返回的数据类型
				pagination : true, // 设置为true会在底部显示分页条
				singleSelect : false, // 设置为true将禁止多选
				// contentType : "application/x-www-form-urlencoded",
				// //发送到服务器的数据编码类型
				pageSize : 10, // 如果设置了分页，每页数据条数
				pageNumber : 1, // 如果设置了分布，首页页码
				// search : true, // 是否显示搜索框
				showColumns : false, // 是否显示内容下拉框（选择显示的列）
				sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
				queryParamsType : "",
				// //设置为limit则会发送符合RESTFull格式的参数
				queryParams : function(params) {
					return {
						// 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
						pageNumber : params.pageNumber,
						pageSize : params.pageSize,
						name : $('#searchName').val(),
						deptId : $("#deptId").val()
					};
				},
				// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
				// queryParamsType = 'limit' ,返回参数必须包含
				// limit, offset, search, sort, order 否则, 需要包含:
				// pageSize, pageNumber, searchText, sortName,
				// sortOrder.
				// 返回false将会终止请求
				responseHandler : function(res){
					return {
		                "total": res.data.total,//总数
		                "rows": res.data.records   //数据
		             };
				},
				columns : [
					{
						checkbox : true,
                        formatter : function(value, row, index) {
                            if($.inArray(row.id, parent.overAllIds)!=-1){// 因为 判断数组里有没有这个 id
                                return {
                                    checked : true               // 存在则选中
                                }
                            }
                        }
					},
                    {
                        field: 'no',
                        title: '序号',
                        formatter: function (value, row, index) {
                            //获取每页显示的数量
                            var pageSize=$('#exampleTable').bootstrapTable('getOptions').pageSize;
                            //获取当前是第几页
                            var pageNumber=$('#exampleTable').bootstrapTable('getOptions').pageNumber;
                            //返回序号，注意index是从0开始的，所以要加上1
                            return pageSize * (pageNumber - 1) + index + 1;
                        }
                    },
					{
						field : 'name',
						title : '姓名'
					},
					{
						field : 'deptName',
						title : '单位'
					},
					{
						field : 'username',
						title : '用户名'
					}]
			});
}

function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}

function tiJiao() {
    var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
    if (parent.overAllIds.length == 0) {
        layer.msg("请选择数据");
        return;
    }
    var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
    parent.layer.close(index);
    parent.appendHtml();
}

function examine(type,datas){
	var sjz = parent.overAllIds;
    if(type.indexOf('uncheck')==-1){
        $.each(datas,function(i,v){
            // 添加时，判断一行或多行的 id 是否已经在数组里 不存则添加　
            sjz.indexOf(v.id) == -1 ?  sjz.push(v.id) : -1;
        });
    }else{
        $.each(datas,function(i,v){
            sjz.splice( sjz.indexOf(v.id),1);    //删除取消选中行
        });
    }
}

$('#exampleTable').on('uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table',function(e,rows){
    var datas = $.isArray(rows) ? rows : [rows];        // 点击时获取选中的行或取消选中的行
    examine(e.type,datas);                              // 保存到全局 Array() 里
});